package com.zmn.oms.business.interfaces.eventsnotice;

import com.zmn.oms.common.dto.OmsBaseOperator;
import com.zmn.oms.model.entity.detail.OrderDetail;
import com.zmn.oms.model.entity.log.OrderLog;
import com.zmn.oms.model.entity.order.OrderExtend;
import com.zmn.oms.model.entity.work.OrderWork;

/**
 * 类描述：订单事件通知
 * @author heciqi
 * @date 2021/10/19 11:24
 */
public interface EventsNoticeBService {

    /**
     * oms 事件通知
     *
     * @return
     */
    void notice(OrderLog orderLog,
                OrderWork dbOrderWork,
                OrderWork newOrderWork,
                OrderExtend dbOrderExtend,
                OmsBaseOperator omsBaseOperator,
                Object proceed);

    /**
     * oms 事件通知
     *
     * @param orderId
     * @param workId
     * @param queueTag
     */
    void notice(Long orderId, Long workId, String queueTag);

    /**
     * oms 事件通知
     *
     * @param orderWork
     * @param orderDetail
     * @param queueTag
     */
    void notice(OrderWork orderWork, OrderDetail orderDetail, String queueTag);
}
